Comments (5)
Just a note: the "new" firmware of raspberry should be able to do some clock stretching, but i down know if this conflicts with the PCA9685.
from spotmicro.
What firmware are you referring to? I believe it's a hardware bug and there are no fundamental fixes, only workarounds.
See: https://www.recantha.co.uk/blog/?p=19880
It seems it even on the RPi4 still.
from spotmicro.
TBH β i can not find that article i read anymore
since i don't needed it yet ,i havn't bookmarked it. But iirc they did nothing else than that in the article you linked above. As far as i can see (now) its just slowing down the whole bus, not stretching it if needed. So you might right, seems like uart is the best solution for it.
Maybe i should get one and give it a go. Since it seems to not be currently available by adafruit, i will try another breakout-board with a BNO055. By reading the docs its just important to get the ps0 and ps1 to configure it to uart. (?)
from spotmicro.
Okey, i tried it the uart way based on the image you recommend in your readme.
Was pretty easy:
Configure the pi to enable uart:
sudo raspi-config
-> interface options
-> serial
-> yes
reboot
Configure the BNO055 to uart, that is a hardware-config only. see https://github.com/RoboticArts/ros_imu_bno055#2-hardware-setup how to do it. For another board just follow the configuration for PS0 = 1 and PS1 = 0, connect it to your pi. I used the 3.3V pin for power. The BNO055 works fine with that voltage and i dont need any level-shifters :)
follow https://github.com/RoboticArts/ros_imu_bno055#3-dependences and https://github.com/RoboticArts/ros_imu_bno055#4-installation
edit ros_imu_bno055/launch/imu.launch and change serialport to /dev/ttyAMA0
run roslaunch ros_imu_bno055 imu.launch
with rostopic echo /imu/data you should see:
header:
seq: 773
stamp:
secs: 1615309390
nsecs: 977561235
frame_id: "imu_link"
orientation:
x: 12160.0
y: -9219.0
z: -1730.0
w: 5708.0
orientation_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
angular_velocity:
x: 0.01
y: 0.02
z: -0.00111111111111
angular_velocity_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
linear_acceleration:
x: 0.05
y: 0.06
z: 0.11
linear_acceleration_covariance: [-1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
now, you need to define a position and orientation to place it. i would say the best position is the exact center. so the height oh the hip-servo-axes and in x/y direction the exact center. this should prevent acceleration if the robot is just rotating ...
from spotmicro.
Nicely done. I may try this out this weekend.
Originally, I thought that since I was running an Ubuntu 16.04 Ubiquity Robotics Image on my RPi, it wouldn't have raspi-config
and I'd have to figure out some other way to enable the serial interface, but it turns out it does!
Apparently this was preinstalled in the image already. I thought the script was inherrent to Raspbian OS only, but looks like it was at least ported to Ubuntu 16.04 at some point.
from spotmicro.
Related Issues (20)
- IMU
- Raspberry Pi images preloaded with Ubuntu 16.04 and a ROS Kinetic installation failed HOT 3
- Increase Pitch/Roll/Yaw Angle command Speed on Joystick HOT 1
- catkinmake HOT 1
- Cannot find module ros-i2cpwmboard HOT 2
- Problem with catkin build on Ubuntu 16.04 and Ros Kinetic HOT 2
- error cannot launch node of type [i2cpwm...], error cannot launch node type of [spot_micro_motion...] HOT 3
- Control body angle while on walking mode
- CMake Error HOT 1
- problem with i2cpwm_boardConfig.cmake HOT 1
- catkin build error: redefinition of 'struct i2c_msg' HOT 1
- Calibration: Servo doesn't react to commands HOT 1
- ESP32 version :) HOT 2
- The servo configuration does not work, the movements do not coincide in reality
- how to additional ROS packages having windows 10 HOT 3
- the package is not being installed libi2c-dev i2c-tools python3-smbus python3-rpi.gpio
- Electronics with rplidar a1
- All robot parts in coordinates 0, 0 and without textures
- i2c_smbus_read_byte_dataβ was not declared in this scope; did you mean βi2c_smbus_ioctl_data HOT 2
- rviz: No transform from [...] to [...]
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spotmicro.