ROS2 package for WHILL Model CR
/whill/controller/joy (sensor_msgs/Joy)
- Virtual WHILL joystick input. You can controll WHILL via this topic.
/whill/states/joy (sensor_msgs/Joy)
- Joystick status
/whill/states/joint_state (sensor_msgs/JointState)
- Wheel rotate position(rad) and rotation velocity(rad/s)
/whill/states/imu (sensor_msgs/Imu)
- IMU measured data.
/whill/states/battery_state (sensor_msgs/BatteryState)
- Battery information
- Ubuntu 18.04 (Windows & Mac OS support is currently under development)
- ROS2 Crystal
- ros2_whill_interfaces
In your shell:
cd ~/<your_ros2_ws>/src
git clone https://github.com/WHILL/ros2_whill_interfaces.git
git clone https://github.com/WHILL/ros2_whill.git
cd ~/<your_ros2_ws>
colcon build --packages-up-to ros2_whill
source install/local_setup.bash
colcon build --packages-select ros2_whill
Edit your ~/.bashrc
(bash) or ~/.zshrc
(zsh) to add this line:
export TTY_WHILL=/dev/[YOUR SERIAL PORT DEVICE]
Setting will be applied automatically from next shell starting or booting up.
In your shell:
(bash)
source ~/.bashrc
(zsh)
source ~/.zshrc
echo $TTY_WHILL # -> Should be /dev/[YOUR SERIAL PORT DEVICE]
Edit serialport
value in the following parameter file and load the param file when you launch nodes.
vim ~/<your_ros2_ws>/src/ros2_whill/params/sample_param.yaml
ros2 run ros2_whill whill_modelc_controller
ros2 run ros2_whill whill_modelc_publisher
Edit
/lib/udev/rules.d/50-udev-default.rules
And add:
KERNEL=="ttyUSB[0-9]*", MODE="0666"
ros2 service call /whill/set_speed_profile_srv ros2_whill_interfaces/SetSpeedProfile '{s1: 4, fm1: 15, fa1: 16, fd1: 64, rm1: 10, ra1: 16, rd1: 56, tm1: 10, ta1: 56, td1: 72}'
ros2 service call /whill/set_power_srv ros2_whill_interfaces/SetPower '{p0: 1}'
ros2 service call /whill/set_power_srv ros2_whill_interfaces/SetPower'{p0: 0}'